package com.zg.autoform.service;

import com.zg.autoform.web.vo.ImportProgressVo;
import com.zg.autoform.web.vo.ImportResultVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 数据导入服务接口
 * @author zg
 */
public interface ImportDataService {

    /**
     * 同步导入数据
     */
    ImportResultVo importDataSync(MultipartFile file, Long templateId);

    /**
     * 异步导入数据
     */
    ImportResultVo importDataAsync(MultipartFile file, Long templateId);

    /**
     * 查询导入进度
     */
    ImportProgressVo getImportProgress(String batchNo);

    /**
     * 更新导入进度
     */
    void updateProgress(String batchNo, String status, Integer progress, String stage, String message);

    /**
     * 更新导入进度（带统计信息）
     */
    void updateProgress(String batchNo, String status, Integer progress, String stage, String message,
                       Integer totalRows, Integer processedRows, Integer successRows, Integer failRows);
}
